新手福利:SVN服务器安装部署以及客户端详细使用教程!

您所在的位置:网站首页 svn windows客户端 新手福利:SVN服务器安装部署以及客户端详细使用教程!

新手福利:SVN服务器安装部署以及客户端详细使用教程!

2022-06-13 08:44| 来源: 网络整理| 查看: 265

SVN简介(来自百度):

        SVN全名Subversion,即版本控制系统。SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。

拓扑图:

    新手福利:SVN服务器安装部署以及客户端详细使用教程!_控制系统

Centos搭建svn服务器!!!

1、服务器安装svn

[root@ svnserver ~]# yum install subversion -y

[root@svnserver ~]# svnversion --version            #查看版本

svnserve,version 1.6.11 (r934486)

[root@svnserver ~]# mkdir /var/www/svn/serverrepo  –pv

[root@svnserver ~]# svnadmin create/var/www/svn/serverrepo/   #创建svn仓库,产品服务器用

 

2、配置     上面的操作很简单,几个命令就搞定, 下面的操作也不难。     进入上面生成的文件夹serverrepo/conf下,进行配置,  有以下几个文件authz, passwd, svnserve.conf     其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,   passwd是设置用户和密码的,    svnserve是设置svn相关的操作。

 

   2.1先设置passwd

[root@svnserver serverrepo]# cd /var/www/svn/serverrepo/conf/

    #如果多个仓库共用一个端口,需要把conf目录整个copy到/var/www/svn目录下;注意每个新仓库内的conf文件都保持相同

[root@svnserver conf]# vim passwd

[users] # harry = harryssecret # sally = sallyssecret deply = deploy #用户名=密码,这里注意账号密码要顶格写;不然无法识别; #这样我们就建立了deploy用户,密码deploy  ;

 

2.2 再设置权限authz

[root@svnserver conf]# vim authz   #在文件末尾添加deploy用户的权限;

[/] deploy = rw #意思是deploy用户对所有的目录有读写权限;

 

2.3最后设定svnserve.conf

[root@svnserver conf]# vim svnserve.conf anon-access = none         #使非授权用户无法访问 auth-access = write         #使授权用户有写权限 password-db = passwd  #用户认证信息文件 authz-db = authz           #访问控制文件 realm = /var/www/svn/serverrepo         #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。 #以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

 

2.4启动svn:

[root@svnserver serverrepo]# svnserve -d -r /var/www/svn/serverrepo/

#如果想要多个项目功用一个端口,可以直接使用svnserve -d -r /var/www/svn命令;并且保证/var/www/svn下面的conf目录下文件内容和每个项目里面的conf内容相同!!!!

启用测试服务器用的SVN:

查看端口:

[root@svnserver conf]# ss -tnl

State      Recv-Q Send-Q      Local Address:Port                        LISTEN     0      7              *:3690       (默认svn端口)

好了,启动成功后,就可以使用了。

 

 

使用windows客户端,进行项目上传!!!

可以百度下载一个:TortoiseSVN 客户端工具并安装;

1、在屏幕空白处点击鼠标右键,选择SVNcheckout;

新手福利:SVN服务器安装部署以及客户端详细使用教程!_服务器_02

2、填写svn服务器路径,已经checkout下来的文件名,点击OK;

#如果多个项目公用一个端口,checkou地址需要在后面加上项目名称,如:svn://192.168.10.45/xxx

新手福利:SVN服务器安装部署以及客户端详细使用教程!_源代码_03

 

3、输入账号密码,点击OK,有成功提示;

新手福利:SVN服务器安装部署以及客户端详细使用教程!_管理系统_04

新手福利:SVN服务器安装部署以及客户端详细使用教程!_源代码_05

4、进入F盘,并刷新,进入webserver文件夹会看到一个隐藏的svn文件夹;

新手福利:SVN服务器安装部署以及客户端详细使用教程!_管理系统_06

 

5、创建需要的项目或文件,并提交到svn服务器;

新手福利:SVN服务器安装部署以及客户端详细使用教程!_源代码_07

新手福利:SVN服务器安装部署以及客户端详细使用教程!_源代码_08

新手福利:SVN服务器安装部署以及客户端详细使用教程!_服务器_09

新手福利:SVN服务器安装部署以及客户端详细使用教程!_控制系统_10

新手福利:SVN服务器安装部署以及客户端详细使用教程!_控制系统_11

提交完成以后需要进入web服务器查看!!!

 

进入web服务器端!!!(testserver也是一样的安装)

[root@svnclient ~]#yum install subversion  #安装svn

[root@ svnclient ~]#svn checkout svn://192.168.10.45  /www/phpcode  

        #如果多个项目公用一个端口,checkou地址需要在后面加上项目名称,如:

             svn checkout svn://192.168.10.45/phpcode  /www/phpcode  

#checkout把svn服务器的代码全部下载到本地/www/phpcode目录,注意:phpcode目录不用创建,如果有这个目录会报错;

#如果使用test服务器checkout,只需要在IP后面加端口即可,

例如:# svncheckout svn://192.168.10.45:3691 /www/phpcode

#第一次连接会要求输入账号密码;

Authentication realm: /var/www/svn/serverrepo Password for 'root': Authentication realm: /var/www/svn/serverrepo Username: deploy Password for 'deploy': ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm:    /var/www/svn/serverrepo can only be stored to diskunencrypted!  You are advised toconfigure your system so that Subversion can storepasswords encrypted, if possible. See the documentation for details. You can avoid future appearances of thiswarning by setting the value of the 'store-plaintext-passwords' optionto either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes Checked out revision 0.

[root@svnclient www]# cd /www/phpcode/           #进入目录

[root@svnclient phpcode]# svn up /www/phpcode/       #更新svn服务器的内容

A   /www/phpcode/webaaa Updated to revision 1.

[root@svnclient phpcode]# ls  #已经可以看到在windows客户端创建的目录了!!!

webaaa

 

使用脚本执行每分钟同步一次svn服务器的内容;

[root@ svnclient ~]# useradd deploy                 #创建deploy用户

[root@ svnclient ~]# chown -R  deploy.deploy /www/phpcode/  #把phpcode权限给到deploy用户

 

使用deploy用户创建一个任务计划

[root@svnclient ~]# su - deploy

[deploy@svnclient ~]$ cd /www/

[deploy@svnclient www]$ svn update /www/phpcode/  (需要先执行一次更新,因为这个用户第一次执行也需要输入账号密码;)

[deploy@ svnclient ~]$ crontab -e

*/1 * * * * /usr/bin/svn update/www/phpcode  >> /dev/null #每分钟执行一次svn更新,并把执行结果丢弃

 

 

 

扩展知识,在web服务器中:

往版本库中添加新的文件 

svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)将改动的文件提交到版本库(修改过的文件必须先添加文件到版本库才能提交修改到版本库)svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “add test file for my test“ test.php简写:svn ci



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3